package com.wanxi.test;

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class FindIndexFromArray {
    public static void main(String[] args) {
        /**
         * 1.必须要有数组
         * 2.用户输入数字，
         * 3.判断数字和数组里面是否有相同的值
         */
        int[] arr = Tool.createArray(10);
        System.out.println("当前数组为：" + Arrays.toString(arr));
        int num = Tool.getScannerInt("请输入一个整数");
        System.out.println("你输入的整数为：" + num);
//        int index = findIndex(arr, num);
//        System.out.println("当前" + num + "在数组里面的索引为：" + (index == -1 ? "不存在" : "" + index));
        int [] indexs=findIndex(arr,num);
        System.out.println("当前数在数组里面的索引为:"+ Arrays.toString(indexs));
    }

    private static int[] findIndex(int[] arr, int num) {
//      先定义出现的次数
        int times = 0;
        for (int i = 0; i < arr.length; i++) {
            if (num == arr[i]) {
                times++;
            }
        }
//        定义一个索引数组，
        int[] array = new int[times];
        int index=0;
        for (int i = 0; i < arr.length; i++) {
            if (num == arr[i]) {
//                将索引加入到数组
                array[index] = i;
                index++;
            }
        }
        return array;
    }
//    private static int findIndex(int[] arr, int num) {
//        for (int i = 0; i < arr.length; i++) {
//            if (num == arr[i]) {
//                return i;
//            }
//        }
//        return -1;
//    }

//    /**
//     *
//     *
//     * @return
//     */
//    private static int getScannerInt(String str) {
//        Scanner scanner = new Scanner(System.in);
//        System.out.println(str);
//        return scanner.nextInt();
//    }
//
//    /**
//     * 根据长度定义数组
//     *
//     * @param length
//     * @return
//     */
//    private static int[] createArray(int length) {
//        int[] arr = new int[length];
//        for (int i = 0; i < arr.length; i++) {
//            arr[i] = getRandom(10, 20);
//        }
//        return arr;
//    }
//
//    /**
//     * 得到start到end之间的随机数[start,end]
//     *
//     * @param start
//     * @param end
//     * @return
//     */
//    private static int getRandom(int start, int end) {
//        Random random = new Random();
//
//        return random.nextInt(end - start) + start;
//    }
}
